package servlet;

import java.io.IOException;
import java.io.PrintWriter;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import dao.Dao;

import modelo.Usuario;

/**
 * Servlet implementation class CadastroUsuario
 */
@WebServlet("/CadastroUsuario")
public class CadastroUsuario extends HttpServlet {
	private static final long serialVersionUID = 1L;

    /**
     * Default constructor. 
     */
    public CadastroUsuario() {
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

		try{
	
		String nome = request.getParameter("nome");
		String sobrenome = request.getParameter("sobrenome");
		String email = request.getParameter("email");
		String email_confrima = request.getParameter("email_confirma");
		String senha = request.getParameter("senha");
		String senha_confirma = request.getParameter("senha_confirma");
		String dataNascimento = request.getParameter("data_nascimento");
		String sexo = request.getParameter("sexo");
		String cidade = request.getParameter("cidade");
		String estado = request.getParameter("estado");
		
		if(!email.equals(email_confrima)){
			response.sendRedirect("index.jsp?msg=Emails diferentes, por favor tente novamente");
		}
		
		if(!senha.equals(senha_confirma)){
			response.sendRedirect("index.jsp?msg=Senhas diferentes, por favor tente novamente");
		}
		SimpleDateFormat formatoData = new SimpleDateFormat("dd/MM/yyyy");
		Date dataFormatada = null;
		
		try{
			
			dataFormatada = new Date(formatoData.parse(dataNascimento).getTime());
		}	catch (ParseException e) {
			
		}
		
		Usuario usuario = new Usuario();
		usuario.setNome(nome);
		usuario.setSobrenome(sobrenome);
		usuario.setEmail(email);
		usuario.setEmail_confirma(email_confrima);
		usuario.setSenha(senha);
		usuario.setSenha_confirma(senha_confirma);
		usuario.setData_nascimento(dataFormatada);
		usuario.setSexo(sexo);
		usuario.setCidade(cidade);
		usuario.setEstado(estado);
		
		Dao.getInstance().salvarObjeto(usuario);
		
		response.sendRedirect("cadastradosucesso.jsp");
	}catch(Exception e){
		e.printStackTrace();
		response.sendRedirect("index.jsp?msg=erro");
	}
	
	
	
	PrintWriter out = response.getWriter();
	out.println("Cadastrado com Sucesso!");
	
}

}
